#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPrinter>

QT_BEGIN_NAMESPACE
class QAction;
class QLabel;
class QScrollArea;
class QMenu;
class QFileInfo;
QT_END_NAMESPACE

class MainWindow : public QMainWindow {
    Q_OBJECT
public:
    MainWindow();

private slots:
    void open();
    void save();
    void print();
    void undo();
    void redo();
    void blur();
    void gaussBlur();
    void about();
    void crop(); //crop

private:
    void createActions();
    void createMenus();
    void updateActions();
    void createStatusBar();
    void createDockWindows();

    QLabel *imageLabel;
    QScrollArea *scrollArea;

#ifndef QT_NO_PRINTER
    QPrinter printer;
#endif

    QMenu *fileMenu;
    QMenu *editMenu;
    QMenu *viewMenu;
    QMenu *filtersMenu;
    QMenu *blurMenu;
    QMenu *resizeMenu; //My menu for resizes
    QMenu *helpMenu;

    QAction *openAct;
    QAction *saveAct;
    QAction *printAct;
    QAction *undoAct;
    QAction *redoAct;
    QAction *toolboxAct;
    QAction *blurAct;
    QAction *gaussBlurAct;
    QAction *aboutAct;
    QAction *aboutQtAct;
    QAction *quitAct;
    QAction *cropAct; //Crop Action

    QString pathname;
};

#endif // MAINWINDOW_H
